package org.dromara.nursing.domain.vo;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.nursing.domain.StaffSchedule;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 排班信息表视图对象 ms_staff_schedule
 *
 * @author Xue
 * @date 2025-04-01
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = StaffSchedule.class)
public class StaffScheduleVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ExcelProperty(value = "id")
    private Long scheduleId;

    /**
     * 员工姓名
     */
    @ExcelProperty(value = "员工姓名")
    private String staffName;

    /**
     * 所属部门
     */
    @ExcelProperty(value = "所属部门")
    private String department;

    /**
     * 上班状态
     */
    @ExcelProperty(value = "上班状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "work_status")
    private Long workStatus;

    /**
     * 班次类型
     */
    @ExcelProperty(value = "班次类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "shift_type")
    private String shiftType;

    /**
     * 开始时间
     */
    @ExcelProperty(value = "开始时间")
    private Date startTime;

    /**
     * 结束时间
     */
    @ExcelProperty(value = "结束时间")
    private Date endTime;

    /**
     * 工作日期
     */
    @ExcelProperty(value = "工作日期")
    private Date workDate;

    /**
     * 工作地点
     */
    @ExcelProperty(value = "工作地点")
    private String location;

    /**
     * 工作内容
     */
    @ExcelProperty(value = "工作内容")
    private String workContent;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remarks;


}
